#lang racket

(define (eliminate-exp ua lotp)
  (cond
    [(empty? lotp) empty]
    [else (cond
            [(less? (first lotp) ua) 
             (cons (first lotp)
                   (eliminate-exp ua (rest lotp)))]
            [else  (eliminate-exp ua (rest lotp))]
            )])
  )

(define (less? val ua)
  (cond
    [(<= val ua) true]
    [else false])
  )

; Test
(define tbl
  (cons 1.2
     (cons 2.5
        (cons 1.8
          (cons 2.1
             (cons 1.1 empty)))))
  )

(eliminate-exp 1.8 tbl)
